Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update EVM Accounts text #675

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update EVM Accounts text #675

wants to merge 1 commit into from

Conversation

Aliserag
Copy link
Collaborator

No description provided.

Copy link

vercel bot commented Mar 22, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 22, 2024 8:35pm


For more information on Cadence Owned Accounts, see the [Flow EVM Support FLIP](https://github.com/onflow/flips/pull/225/files)
[EOAs and Contract](https://ethereum.org/developers/docs/accounts) accounts function the same as on other EVM networks. EVM developers can use EVM on Flow without having to use COAs. However, in order to unlock all the features of Cadence, developers may choose to utilize Cadence Owned Accounts.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[EOAs and Contract](https://ethereum.org/developers/docs/accounts) accounts function the same as on other EVM networks. EVM developers can use EVM on Flow without having to use COAs. However, in order to unlock all the features of Cadence, developers may choose to utilize Cadence Owned Accounts.
[EOAs and Contract](https://ethereum.org/developers/docs/accounts) accounts function the same as on other EVM networks. EVM developers can use EVM on Flow without having to use COAs. However, in order to unlock all the features of Cadence, developers may choose to take advantage of Cadence Owned Accounts using a Flow compatible wallet.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe link out to Wallets page?

@@ -16,17 +16,10 @@ There are three types of accounts used for EVM on Flow.

1. **Externally Owned Accounts (EOA)**: EOAs are controlled by private individuals using cryptographic keys and can initiate transactions directly. They are the primary account type for users to interact with the blockchain, holding and sending cryptocurrency or calling smart contract functions.
2. **Contract Accounts**: These accounts hold smart contract code and are governed by this code's logic. Unlike EOAs, Contract Accounts do not initiate transactions on their own but can execute transactions in response to calls they receive from EOAs or other contracts.
3. **Cadence Owned Accounts (COA)**
3. **Cadence Owned Accounts (COA)**: Bridging Cadence and EVM environments, COAs operate similarly to EOAs but execute transactions directed from Cadence. Created from Cadence without a key, COAs are assigned a 20-byte EVM address. As a Resource type owned by a Flow account in the Cadence Virtual Machine, COAs can run EVM transactions, deploy Solidity contracts from Cadence, and perform other EVM interactions. This integration allows developers to utilize the full potential of Cadence within the EVM framework on Flow.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. **Cadence Owned Accounts (COA)**: Bridging Cadence and EVM environments, COAs operate similarly to EOAs but execute transactions directed from Cadence. Created from Cadence without a key, COAs are assigned a 20-byte EVM address. As a Resource type owned by a Flow account in the Cadence Virtual Machine, COAs can run EVM transactions, deploy Solidity contracts from Cadence, and perform other EVM interactions. This integration allows developers to utilize the full potential of Cadence within the EVM framework on Flow.
3. **Cadence Owned Account (COA)**: COA is a natively supported EVM smart contract wallet type owned by a Flow account and controlled by a Cadence resource. COAs provide powerful primitives which allow bridging and control of assets, including ERC721, ERC-20, and $FLOW native tokens, and ensuring seamless composability across Cadence and EVM environments. Unlike EVM Contract Accounts, COAs can initiate transactions on their own without needing an external EOA transaction to trigger them.
**Key Features:**
- COAs are exclusively created via Cadence, assigned unique 20-byte EVM addresses based on their UUID.
- COAs can initiate and execute EVM transactions, deploy Solidity contracts from Cadence, and perform other EVM interactions, with their associated EVM address acting as `tx.origin`, and without need of an EOA trigger
- They support native cross-VM bridging capabilities for a variety of tokens, detailed in the [Flow VM Bridge improvement proposal](https://github.com/onflow/flips/pull/233).
- COAs provide dual interfaces for interaction within Flow EVM and Cadence environments. Additional details can be found in the [EVM Support FLIP](https://github.com/onflow/flips/blob/d01024385bf72e8d566f2502c343780603624210/protocol/20231116-evm-support.md#cadence-owned-account-coa)

@@ -16,17 +16,10 @@ There are three types of accounts used for EVM on Flow.

1. **Externally Owned Accounts (EOA)**: EOAs are controlled by private individuals using cryptographic keys and can initiate transactions directly. They are the primary account type for users to interact with the blockchain, holding and sending cryptocurrency or calling smart contract functions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. **Externally Owned Accounts (EOA)**: EOAs are controlled by private individuals using cryptographic keys and can initiate transactions directly. They are the primary account type for users to interact with the blockchain, holding and sending cryptocurrency or calling smart contract functions.
1. **Externally Owned Account (EOA)**: An Externally Owned Account (EOA) is a user-controlled account type that operates through cryptographic keys. These accounts are fundamental for user interactions with the blockchain, as they are capable of directly initiating transactions. EOAs serve as the primary gateway for users, allowing them to manage, send, and receive cryptocurrencies, as well as interact with smart contract functionalities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants